home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1999 #1
/
Amiga Plus 1999 #1.iso
/
System-Boost
/
Sound
/
Player6.1A
/
Source
/
CIA_Example.G
< prev
next >
Wrap
Text File
|
1998-06-21
|
2KB
|
94 lines
* An example of how to use Copper-Interrupt bit to wait for specified line
* Also AGA-compatible init
* For use with CIA-version of the Player 6.1A
section "CIA-Example",code
movem.l d0-a6,-(sp)
move $dff002,-(sp) ;Old DMA
lea gfxname(pc),a1 ;Open graphics.library
moveq #0,d0
move.l 4.w,a6
jsr -$228(a6)
move.l d0,a6
move.l 34(a6),-(sp) ;Old view
move.l a6,-(sp)
sub.l a1,a1
jsr -$de(a6) ;LoadView
jsr -$10e(a6) ;WaitTOF
jsr -$10e(a6) ;WaitTOF
lea $dff000,a6
move #$7ff,$96(a6) ;Disable DMAs
move #%1000001111000000,$96(a6) ;Master,Copper,Blitter,Bitplanes
move $1c(a6),-(sp) ;Old IRQ
move #$7fff,$9a(a6) ;Disable IRQs
move #$e000,$9a(a6) ;Master and lev6
;NO COPPER-IRQ!
moveq #0,d0
move d0,$106(a6) ;Disable AGA/ECS-stuff
move d0,$1fc(a6)
; Call P61_Init here!
move.l #copper,$80(a6)
wait move $1e(a6),d0 ;Wait for Copper-bit in INTREQR
and.l #$10,d0
beq.b wait
move #$10,$9c(a6) ;Clear the bit
move #$f00,$180(a6) ;Some funny colors...
; Do your stuff here!
move #3,$180(a6)
btst #6,$bfe001
bne wait
exit btst #14,2(a6) ;Wait for blitter to finish
bne.b exit
; Call P61_End here!
move #$7fff,$9a(a6) ;Restore system status
move #$7ff,$96(a6)
move (sp)+,d7 ;Old IRQs
move.l (sp)+,a6
move.l (sp)+,a1
jsr -$de(a6) ;Old view
move.l 38(a6),d3 ;Old Copper1
move.l a6,a1
move.l 4.w,a6
jsr -$19e(a6) ;CLOSE graphics.library
lea $dff000,a6
move.l d3,$80(a6) ;Set old Copper
move d3,$88(a6) ;Trigger
or #$8000,d7
move d7,$9a(a6) ;Old IRQs
move (sp)+,d7
or #$8000,d7
move d7,$96(a6) ;Old DMAs
movem.l (sp)+,d0-a6
moveq #0,d0 ;No error code
rts
gfxname dc.b `graphics.library`,0
even
section "Copper",data_c
copper dc $100,$0200
dc $180,3
dc $800f,-2 ;The line to wait to
dc $9c,$8010 ;Set Copper-bit in INTREQ
dc.l -2